<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span class="hs-cpp">
#if !defined(TESTING) &amp;&amp; defined(__GLASGOW_HASKELL__)
</span><span class="hs-pragma">{-# LANGUAGE Safe #-}</span><span class="hs-cpp">
#endif
</span><span class="hs-cpp">
#include &quot;containers.h&quot;
</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- | A strict pair</span><span>
</span><span id="line-9"></span><span>
</span><span id="line-10"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Utils.Containers.Internal.StrictPair</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#StrictPair"><span class="hs-identifier">StrictPair</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#toPair"><span class="hs-identifier">toPair</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-11"></span><span>
</span><span id="line-12"></span><span class="hs-comment">-- | The same as a regular Haskell pair, but</span><span>
</span><span id="line-13"></span><span class="hs-comment">--</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- @</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- (x :*: _|_) = (_|_ :*: y) = _|_</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- @</span><span>
</span><span id="line-17"></span><span class="hs-keyword">data</span><span> </span><span id="StrictPair"><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#StrictPair"><span class="hs-identifier hs-var">StrictPair</span></a></span></span><span> </span><span id="local-6989586621679158655"><span class="annot"><a href="#local-6989586621679158655"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span id="local-6989586621679158654"><span class="annot"><a href="#local-6989586621679158654"><span class="hs-identifier hs-type">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="#local-6989586621679158655"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span id="%3A%2A%3A"><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#%3A%2A%3A"><span class="hs-operator hs-var">:*:</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="#local-6989586621679158654"><span class="hs-identifier hs-type">b</span></a></span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span class="hs-keyword">infixr</span><span> </span><span class="hs-number">1</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#%3A%2A%3A"><span class="hs-operator hs-type">:*:</span></a></span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-comment">-- | Convert a strict pair to a standard pair.</span><span>
</span><span id="line-22"></span><span id="local-6989586621679158660"><span id="local-6989586621679158661"><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#toPair"><span class="hs-identifier hs-type">toPair</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#StrictPair"><span class="hs-identifier hs-type">StrictPair</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679158661"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679158660"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679158661"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679158660"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span></span></span><span>
</span><span id="line-23"></span><span id="toPair"><span class="annot"><span class="annottext">toPair :: forall a b. StrictPair a b -&gt; (a, b)
</span><a href="Utils.Containers.Internal.StrictPair.html#toPair"><span class="hs-identifier hs-var hs-var">toPair</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679158652"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679158652"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#%3A%2A%3A"><span class="hs-operator hs-type">:*:</span></a></span><span> </span><span id="local-6989586621679158651"><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679158651"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679158652"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">b
</span><a href="#local-6989586621679158651"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-24"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.StrictPair.html#toPair"><span class="hs-pragma hs-type">toPair</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-25"></span></pre></body></html>